package com.newtouch.bxzs.enterprise.service;

import com.newtouch.bxzs.enterprise.model.bo.EnterpriseCustomerBO;
import com.newtouch.bxzs.enterprise.model.bo.EnterpriseCustomerGroupBO;
import com.newtouch.bxzs.enterprise.model.vo.EnterpriseCustomerGroupVO;
import com.newtouch.bxzs.enterprise.model.vo.EnterpriseCustomerVO;

import java.util.List;

/**
 * 企业客户分组service
 *
 * <p>
 * <b>History:</b>
 * <table border="1">
 * <tr>
 * <th>Date</th>
 * <th>Operator</th>
 * <th>Memo</th>
 * </tr>
 * <tr>
 * <td>2021/2/4 11:04</td>
 * <td>dingqianbin</td>
 * <td>Create</td>
 * </tr>
 * </table>
 *
 * @author dingqianbin
 * @version 1.0.0
 * @since 1.0.0
 */
public interface EnterpriseCustomerGroupService {

    /**
     * 获取企业客户分组列表信息
     *
     * @return 企业客户分组信息集合
     */
    List<EnterpriseCustomerGroupBO> getGroupList();

    /**
     * 增加/修改企业客户分组信息
     *
     * @param enterpriseCustomerGroupVO 企业客户分组VO
     */
    Integer modifyEnterpriseCustomerGroup(EnterpriseCustomerGroupVO enterpriseCustomerGroupVO);

    /**
     * 删除企业客户分组
     *
     * @param enterpriseCustomerGroupVO 企业客户分组VO
     */
    Integer deleteEnterpriseCustomerGroup(EnterpriseCustomerGroupVO enterpriseCustomerGroupVO);

    /**
     * 企业分组添加企业客户
     *
     * @param enterpriseCustomerGroupVO 企业客户分组VO
     */
    Integer insertGroupCustomer(EnterpriseCustomerGroupVO enterpriseCustomerGroupVO);

    /**
     * 分组移除企业客户
     *
     * @param enterpriseCustomerGroupVO 企业客户分组VO
     */
    Integer deleteGroupCustomer(EnterpriseCustomerGroupVO enterpriseCustomerGroupVO);

    /**
     * 获取可添加的客户列表
     *
     * @param enterpriseCustomerVO 企业客户查询VO
     * @return 企业客户分组BO
     */
    EnterpriseCustomerBO getEnableAddCustomerList(EnterpriseCustomerVO enterpriseCustomerVO);
}
